/**
 * \file graphColoring.h
 * \brief Funções para coloração de grafos
 */

# ifndef GRAPH_COLORING_DEFINITION
# define GRAPH_COLORING_DEFINITION

# include "../graph.h"
# include "../../../base/types.h"
# include "../../../io/logs/logSystem.h"

# define ISCLIQUE 1
# define ISNOTCLIQUE 0
# define HANDLED 1
# define UNHANDLED 0
# define MAX_RECURSION 10000
# define MAX_CLIQUE_NOT_FOUND -1
# define MAX_CLIQUE_ALLREADY_FOUNDED 0

/**
 * \brief Tenta colorar o grafo (independente) fornecido como input
 * \param g grafo (necessário que seja independente)
 * \param result Resultado (inicializado a 0)
 * \return Número de cores usadas (minimo)
 */
int colorGraph (Graph *g);
# endif
